const char *s_model = "\
class Model															\n\
{																	\n\
	name = \"\";													\n\
	meshName = \"\";												\n\
	textureName = \"\";												\n\
																	\n\
	constructor (name, mesh, texture = null)						\n\
	{																\n\
		if (mesh != null)											\n\
		{															\n\
			this.meshName = mesh.name;								\n\
		}															\n\
																	\n\
		if (texture != null)										\n\
		{															\n\
			this.textureName = texture.name;						\n\
		}															\n\
																	\n\
		this.name = name;											\n\
		Model_Create(name, meshName, textureName);					\n\
		this.SetMesh(mesh);											\n\
		this.SetTexture(texture);									\n\
	}																\n\
																	\n\
	function Destroy()												\n\
	{																\n\
		Model_Destroy(this.name);									\n\
		this.name = null;											\n\
		this.meshName = null;										\n\
		this.textureName = null;									\n\
	}																\n\
																	\n\
	function SetMesh(mesh)											\n\
	{																\n\
		if (mesh != null)											\n\
		{															\n\
			Model_SetMesh(this.name, mesh.name);					\n\
			this.meshName = mesh.name;								\n\
		}															\n\
		else														\n\
		{															\n\
			Model_SetMesh(this.name, \"\");							\n\
			this.meshName = \"\"									\n\
		}															\n\
	}																\n\
																	\n\
	function GetMesh()												\n\
	{																\n\
		if (this.meshName == null)									\n\
			return null;											\n\
																	\n\
		local mesh = Mesh(this.meshName, false);					\n\
		return mesh;												\n\
	}																\n\
																	\n\
	function SetTexture(texture)									\n\
	{																\n\
		if (texture != null)										\n\
		{															\n\
			Model_SetTexture(this.name, texture.name);				\n\
			this.textureName = texture.name;						\n\
		}															\n\
		else														\n\
		{															\n\
			Model_SetTexture(this.name, \"\");						\n\
			this.textureName = \"\";								\n\
		}															\n\
																	\n\
	}																\n\
																	\n\
	function GetTexture()											\n\
	{																\n\
		if (this.textureName == null)								\n\
			return null;											\n\
																	\n\
		local texture = Texture();									\n\
		texture.name = this.textureName;							\n\
		return texture;												\n\
	}																\n\
}";